package com.zros.modules.business.dto;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zros.modules.business.entity.Audition;
import com.zros.modules.business.entity.EnrollCourse;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 线索表
 * </p>
 *
 * @author pangyinqiang
 * @since 2019-04-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class QueryClueDto implements Serializable {

	private static final long serialVersionUID = 1L;

	// 1.基本信息
	@TableId(value = "clue_id", type = IdType.AUTO)
	private Long clueId;

	// 创建线索者id
	private Long creator;
	// 校区id
	private Long orgId;
	// 渠道id
	private Long channelId;
	// 渠道类型id
	private Long channelTypeId;
	// 课程id
	private Long courseId;
	// 科系id
	private Long departmentId;

	// 线索客户姓名
	private String customerName;

	// 线索客户年龄
	private String customerAge;

	// 线索客户性别
	private String customerGender;

	// 线索客户电话
	private String customerPhone;

	// 线索备注
	private String customerRemark;

	// 承诺到访状态 0:否；1:是
	private String isPromiseVisit;

	// 承诺到访日期
	private String promiseVisitDateStart;

	// 承诺到访日期
	private String promiseVisitDateEnd;

	// 确定到访状态 0:否；1:是
	private String isSureVisit;

	// 确定到访时间
	@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm:ss")
	private LocalTime sureVisitDate;

	// 是否到访状态 0:否；1:是
	private String isVisit;

	// 未到访原因
	private String noVisitReason;

	// 到访时间
	private String visitTimeStart;

	// 到访时间
	private String visitTimeEnd;

	// 是否试听状态 0:否；1:是
	private String isAudition;

	// 是否报名状态 0:否；1:是
	private String isEnroll;

	// 未报名原因未报名状态码 0:暂时不选；1:距离远；2:价格高；3:有更好选择；4:其他
	private String noEnrollReason;

	// 未报名原因补充
	private String noEnrollReasonRemark;

	// 是否为有效线索状态 0:否；1:是
	private String isAvailable;

	// 线索状态码 0:默认； 1:有需求；2:有意向；3:有望成交；4:无法联系；5:无需求；6:号码错误
	private String clueStatusCode;

	// 咨询时间开始
	private String createTimeStart;

	// 咨询时间结束
	private String createTimeEnd;

	// 报名时间开始
	private String enrollCourseTimeStart;

	// 报名时间结束
	private String enrollCourseTimeEnd;

	// 是否置顶状态 0:否；1:是
	private String isTop;

	// 线索创建后分配到哪个用户名下
	private Long ownerId;

	// 根据次数
	private Integer updateCount;
	
	//自身数据权限 
	private String selfKey;
	
	//校区数据权限 
	private String campusKey;
	
	//当前登录用户Id 根据数据权限查询线索使用
	private String userId;
	
}
